
import { _decorator, Component, Node, LabelComponent, macro, view } from 'cc';
import { Electron } from '../Electron';
const { ccclass, property } = _decorator;

@ccclass('Choose')
export class Choose extends Component {

    @property({displayName: "中间的文字", tooltip: "中间的文字", type: LabelComponent})
    label: LabelComponent = null!;

    // 都可以设置哪些分辨率
    string: string[] = [
        "800×600",
        "1024×768",
        "1280×768",
        "1360×768",
        "1600×900",
        "1920×1080",
    ];

    // 当前分辨率，这是一个索引
    index: number = 0;

    onLoad () {
        this.string = [];
        // 把所有支持的分辨率的数组颠倒
        let str = Electron.getAllResolutions().reverse();
        // 设置string数组的内容
        for (let i = 0; i < str.length; i++) {
            this.string.push(str[i]);
        }

        // 获取当前分辨率在数组中的索引
        let index = this.string.indexOf(Electron.getCurrentResolution());
        // 设置文字的显示和index变量
        this.label.string = this.string[index];
        this.index = index;
    }

    // 左边三角按钮
    onbtn_left () {
        // 如果按钮到了最左边
        if (this.index == 0) {
            // 到最右边
            this.index = this.string.length - 1;
        } 
        // 如果到了最右边
        else {
            // 到最左边
            this.index -= 1;
        }

        // 显示在文字上
        this.label.string = this.string[this.index];
        // 设置分辨率
        this.onbtn_set(this.label.string);
    }

    // 右边三角按钮
    onbtn_right () {
        // 如果到了最右边
        if (this.index == this.string.length - 1) {
            // 到最左边
            this.index = 0;
        } 
        // 如果到了最左边
        else {
            // 到最右边
            this.index += 1;
        }

        // 显示在文字上
        this.label.string = this.string[this.index];
        // 设置分辨率
        this.onbtn_set(this.label.string);
    }

    // 设置分辨率，传入一个字符串，eg:1920×1080
    onbtn_set (string: string) {
        // 截取字符串
        let str = string.split("×");
        let width = str[0];
        let height = str[1];

        // 注意，这个方法是先判断是否全屏，如果全屏就设置分辨率，不全屏就设置窗口大小
        Electron.setScreenResolution(Number(width), Number(height));
        console.log("设置分辨率：", width, height);
    }

}